<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LibTools: CIpcSocket类 参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">LibTools
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.16 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','搜索');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public 成员函数</a> &#124;
<a href="#pro-methods">Protected 成员函数</a> &#124;
<a href="#pri-methods">Private 成员函数</a> &#124;
<a href="class_c_ipc_socket-members.html">所有成员列表</a>  </div>
  <div class="headertitle">
<div class="title">CIpcSocket类 参考</div>  </div>
</div><!--header-->
<div class="contents">

<p>ipc通信专用套接字  
 <a href="class_c_ipc_socket.html#details">更多...</a></p>

<p><code>#include &lt;<a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a>&gt;</code></p>
<div class="dynheader">
类 CIpcSocket 继承关系图:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_c_ipc_socket.png" usemap="#CIpcSocket_map" alt=""/>
  <map id="CIpcSocket_map" name="CIpcSocket_map">
<area href="class_c_socket.html" title="套接口类" alt="CSocket" shape="rect" coords="0,0,86,24"/>
<area href="class_c_ipc_io_socket.html" title="用于ipc进行io投递的套接字类" alt="CIpcIoSocket" shape="rect" coords="0,112,86,136"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public 成员函数</h2></td></tr>
<tr class="memitem:abdd53375a7f44cc99f488d52bb1d0bec"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#abdd53375a7f44cc99f488d52bb1d0bec">CIpcSocket</a> ()</td></tr>
<tr class="separator:abdd53375a7f44cc99f488d52bb1d0bec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84f0b8ad9091be5242d5fd443173824a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a84f0b8ad9091be5242d5fd443173824a">CIpcSocket</a> (<a class="el" href="class_c_basic_service.html">CBasicService</a> *pServer)</td></tr>
<tr class="memdesc:a84f0b8ad9091be5242d5fd443173824a"><td class="mdescLeft">&#160;</td><td class="mdescRight">构造函数并设置tcp操作服务类  <a href="class_c_ipc_socket.html#a84f0b8ad9091be5242d5fd443173824a">更多...</a><br /></td></tr>
<tr class="separator:a84f0b8ad9091be5242d5fd443173824a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa51689972d420888eaa68f71487e0f4e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#aa51689972d420888eaa68f71487e0f4e">~CIpcSocket</a> ()</td></tr>
<tr class="separator:aa51689972d420888eaa68f71487e0f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1383f482c53e9b95735a9b2eef63ee3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#ac1383f482c53e9b95735a9b2eef63ee3">Swap</a> (<a class="el" href="class_c_ipc_socket.html">CIpcSocket</a> &amp;sock)</td></tr>
<tr class="memdesc:ac1383f482c53e9b95735a9b2eef63ee3"><td class="mdescLeft">&#160;</td><td class="mdescRight">交换两个套接口类  <a href="class_c_ipc_socket.html#ac1383f482c53e9b95735a9b2eef63ee3">更多...</a><br /></td></tr>
<tr class="separator:ac1383f482c53e9b95735a9b2eef63ee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98690fd3fe7a16b71852b4dce797e4f7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_sock_error.html">CSockError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a98690fd3fe7a16b71852b4dce797e4f7">WaitNamedPipe</a> (<a class="el" href="tools_8h.html#a798af1e30bc65f319c1a246cecf59e39">DWORD</a> timeout) const</td></tr>
<tr class="memdesc:a98690fd3fe7a16b71852b4dce797e4f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">为win32提供的一个等待管道连接的函数  <a href="class_c_ipc_socket.html#a98690fd3fe7a16b71852b4dce797e4f7">更多...</a><br /></td></tr>
<tr class="separator:a98690fd3fe7a16b71852b4dce797e4f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad954cee189b57a0bb1ff5c95c25de871"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#ad954cee189b57a0bb1ff5c95c25de871">SetAddr</a> (const char *name)</td></tr>
<tr class="memdesc:ad954cee189b57a0bb1ff5c95c25de871"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置管道名称、或者unix套接字名称  <a href="class_c_ipc_socket.html#ad954cee189b57a0bb1ff5c95c25de871">更多...</a><br /></td></tr>
<tr class="separator:ad954cee189b57a0bb1ff5c95c25de871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_c_socket"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_c_socket')"><img src="closed.png" alt="-"/>&#160;Public 成员函数 继承自 <a class="el" href="class_c_socket.html">CSocket</a></td></tr>
<tr class="memitem:ae7e5fd04b90967207cc063a22fa39ab5 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#ae7e5fd04b90967207cc063a22fa39ab5">CSocket</a> ()</td></tr>
<tr class="memdesc:ae7e5fd04b90967207cc063a22fa39ab5 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">初始化构造  <a href="class_c_socket.html#ae7e5fd04b90967207cc063a22fa39ab5">更多...</a><br /></td></tr>
<tr class="separator:ae7e5fd04b90967207cc063a22fa39ab5 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2082b7be3d8862aac61944fa6e7218c9 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a2082b7be3d8862aac61944fa6e7218c9">CSocket</a> (<a class="el" href="class_c_basic_service.html">CBasicService</a> *pServer)</td></tr>
<tr class="memdesc:a2082b7be3d8862aac61944fa6e7218c9 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">构造函数并设置操作服务类  <a href="class_c_socket.html#a2082b7be3d8862aac61944fa6e7218c9">更多...</a><br /></td></tr>
<tr class="separator:a2082b7be3d8862aac61944fa6e7218c9 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4a6cdcea1e66a2591831c15cfbc4fa inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a1d4a6cdcea1e66a2591831c15cfbc4fa">~CSocket</a> ()</td></tr>
<tr class="memdesc:a1d4a6cdcea1e66a2591831c15cfbc4fa inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">销毁函数  <a href="class_c_socket.html#a1d4a6cdcea1e66a2591831c15cfbc4fa">更多...</a><br /></td></tr>
<tr class="separator:a1d4a6cdcea1e66a2591831c15cfbc4fa inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa915ac02c07eed947bf2da35eacc3545 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#aa915ac02c07eed947bf2da35eacc3545">Close</a> ()</td></tr>
<tr class="memdesc:aa915ac02c07eed947bf2da35eacc3545 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">关闭套接字  <a href="class_c_socket.html#aa915ac02c07eed947bf2da35eacc3545">更多...</a><br /></td></tr>
<tr class="separator:aa915ac02c07eed947bf2da35eacc3545 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad08fc2df680d1fd84035f5aada97dd3a inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#ad08fc2df680d1fd84035f5aada97dd3a">SetService</a> (<a class="el" href="class_c_basic_service.html">CBasicService</a> *service)</td></tr>
<tr class="memdesc:ad08fc2df680d1fd84035f5aada97dd3a inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">关联相应的工作类  <a href="class_c_socket.html#ad08fc2df680d1fd84035f5aada97dd3a">更多...</a><br /></td></tr>
<tr class="separator:ad08fc2df680d1fd84035f5aada97dd3a inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4639bf4536b44ec11a7fc37b73981c8e inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_basic_service.html">CBasicService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a4639bf4536b44ec11a7fc37b73981c8e">GetService</a> () const</td></tr>
<tr class="memdesc:a4639bf4536b44ec11a7fc37b73981c8e inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回服务基类  <a href="class_c_socket.html#a4639bf4536b44ec11a7fc37b73981c8e">更多...</a><br /></td></tr>
<tr class="separator:a4639bf4536b44ec11a7fc37b73981c8e inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a3ba6f710c1a3ca4f9300dabe84b03f inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="class_c_sock_addr.html">CSockAddr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a1a3ba6f710c1a3ca4f9300dabe84b03f">GetSockAddr</a> () const</td></tr>
<tr class="memdesc:a1a3ba6f710c1a3ca4f9300dabe84b03f inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">将socket设置的套接口地址参数转换成SOCKADDR_IN结构体  <a href="class_c_socket.html#a1a3ba6f710c1a3ca4f9300dabe84b03f">更多...</a><br /></td></tr>
<tr class="separator:a1a3ba6f710c1a3ca4f9300dabe84b03f inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a816347ac8821a8288a38645702bee10e inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a816347ac8821a8288a38645702bee10e">Swap</a> (<a class="el" href="class_c_socket.html">CSocket</a> &amp;sock)</td></tr>
<tr class="memdesc:a816347ac8821a8288a38645702bee10e inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">交换两个套接口类  <a href="class_c_socket.html#a816347ac8821a8288a38645702bee10e">更多...</a><br /></td></tr>
<tr class="separator:a816347ac8821a8288a38645702bee10e inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfcf493607b9c1b40db907d89731d4a9 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="tools_8h.html#aff55fe551a9992a54ec54621c524d0a4">SOCKET</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#abfcf493607b9c1b40db907d89731d4a9">GetSockPtr</a> () const</td></tr>
<tr class="memdesc:abfcf493607b9c1b40db907d89731d4a9 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取套接口句柄指针  <a href="class_c_socket.html#abfcf493607b9c1b40db907d89731d4a9">更多...</a><br /></td></tr>
<tr class="separator:abfcf493607b9c1b40db907d89731d4a9 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112e126a842b4ec30e5d17721ebe73cb inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a112e126a842b4ec30e5d17721ebe73cb">SetPort</a> (<a class="el" href="tools_8h.html#a798af1e30bc65f319c1a246cecf59e39">DWORD</a> port)</td></tr>
<tr class="memdesc:a112e126a842b4ec30e5d17721ebe73cb inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置远程或本地端口  <a href="class_c_socket.html#a112e126a842b4ec30e5d17721ebe73cb">更多...</a><br /></td></tr>
<tr class="separator:a112e126a842b4ec30e5d17721ebe73cb inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa6d7615fa3799b3b2ddba01f4dcc675 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#aaa6d7615fa3799b3b2ddba01f4dcc675">SetSocket</a> (<a class="el" href="tools_8h.html#aff55fe551a9992a54ec54621c524d0a4">SOCKET</a> sock)</td></tr>
<tr class="memdesc:aaa6d7615fa3799b3b2ddba01f4dcc675 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置套接字描述符  <a href="class_c_socket.html#aaa6d7615fa3799b3b2ddba01f4dcc675">更多...</a><br /></td></tr>
<tr class="separator:aaa6d7615fa3799b3b2ddba01f4dcc675 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafc3fc3ab0c1e3d5ae2cf9dfba46d442 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#aafc3fc3ab0c1e3d5ae2cf9dfba46d442">SetDomain</a> (<a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81">SOCKFAMILY::SockFamily</a> domain=<a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81a00bf55dcef9400794a5918a0fcd59b5d">SOCKFAMILY::IPV4</a>)</td></tr>
<tr class="memdesc:aafc3fc3ab0c1e3d5ae2cf9dfba46d442 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置协议族,注意重置该值将会清空地址、端口信息  <a href="class_c_socket.html#aafc3fc3ab0c1e3d5ae2cf9dfba46d442">更多...</a><br /></td></tr>
<tr class="separator:aafc3fc3ab0c1e3d5ae2cf9dfba46d442 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0833e2e82bcca3a85057fcecb2287bb inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#ab0833e2e82bcca3a85057fcecb2287bb">SetSockType</a> (<a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488c">SOCKTYPE::SockType</a> type=<a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488ca001599c1c291d81e5145c9aaed42852d">SOCKTYPE::STREAM</a>)</td></tr>
<tr class="memdesc:ab0833e2e82bcca3a85057fcecb2287bb inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置套接字发送类型  <a href="class_c_socket.html#ab0833e2e82bcca3a85057fcecb2287bb">更多...</a><br /></td></tr>
<tr class="separator:ab0833e2e82bcca3a85057fcecb2287bb inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a630790930bc708f198f90181420892a5 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a630790930bc708f198f90181420892a5">SetProtocol</a> (<a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672e">SOCKPROTOCOL::SockProtocol</a> protocol=<a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672ea259d0611981249ea03db09636970baa0">SOCKPROTOCOL::TCP</a>)</td></tr>
<tr class="memdesc:a630790930bc708f198f90181420892a5 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置协议类型  <a href="class_c_socket.html#a630790930bc708f198f90181420892a5">更多...</a><br /></td></tr>
<tr class="separator:a630790930bc708f198f90181420892a5 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f9deafc91bedf6c25122fe98e8174d8 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81">SOCKFAMILY::SockFamily</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a8f9deafc91bedf6c25122fe98e8174d8">GetDomain</a> () const</td></tr>
<tr class="memdesc:a8f9deafc91bedf6c25122fe98e8174d8 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取协议族  <a href="class_c_socket.html#a8f9deafc91bedf6c25122fe98e8174d8">更多...</a><br /></td></tr>
<tr class="separator:a8f9deafc91bedf6c25122fe98e8174d8 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4db9f0924d9173baa17ffef5bfeeaa48 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488c">SOCKTYPE::SockType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a4db9f0924d9173baa17ffef5bfeeaa48">GetSockType</a> () const</td></tr>
<tr class="memdesc:a4db9f0924d9173baa17ffef5bfeeaa48 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取套接字发送类型  <a href="class_c_socket.html#a4db9f0924d9173baa17ffef5bfeeaa48">更多...</a><br /></td></tr>
<tr class="separator:a4db9f0924d9173baa17ffef5bfeeaa48 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3258d90d4a7626508fc8c43e0893b020 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672e">SOCKPROTOCOL::SockProtocol</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a3258d90d4a7626508fc8c43e0893b020">GetProtocol</a> () const</td></tr>
<tr class="memdesc:a3258d90d4a7626508fc8c43e0893b020 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取协议类型  <a href="class_c_socket.html#a3258d90d4a7626508fc8c43e0893b020">更多...</a><br /></td></tr>
<tr class="separator:a3258d90d4a7626508fc8c43e0893b020 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc23006ccfd784a08cbfd2a9c0d3c85e inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#adc23006ccfd784a08cbfd2a9c0d3c85e">GetAddr</a> () const</td></tr>
<tr class="memdesc:adc23006ccfd784a08cbfd2a9c0d3c85e inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取连接或绑定的地址  <a href="class_c_socket.html#adc23006ccfd784a08cbfd2a9c0d3c85e">更多...</a><br /></td></tr>
<tr class="separator:adc23006ccfd784a08cbfd2a9c0d3c85e inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ff8ef020da674c0e1dfd947d03f18a inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="tools_8h.html#a798af1e30bc65f319c1a246cecf59e39">DWORD</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a45ff8ef020da674c0e1dfd947d03f18a">GetPort</a> () const</td></tr>
<tr class="memdesc:a45ff8ef020da674c0e1dfd947d03f18a inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取绑定或连接的端口  <a href="class_c_socket.html#a45ff8ef020da674c0e1dfd947d03f18a">更多...</a><br /></td></tr>
<tr class="separator:a45ff8ef020da674c0e1dfd947d03f18a inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31c4a61d9f5a4b6cbada3894c7d70c66 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_sock_tools_8h.html#ac7875a7f6984241a06892f7041b4d30a">SOCKIDEN</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a31c4a61d9f5a4b6cbada3894c7d70c66">GetSocketID</a> () const</td></tr>
<tr class="memdesc:a31c4a61d9f5a4b6cbada3894c7d70c66 inherit pub_methods_class_c_socket"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回在服务类里面初始化的一个唯一ID（仅对与之关联的服务类而言）,0表示没有身份ID  <a href="class_c_socket.html#a31c4a61d9f5a4b6cbada3894c7d70c66">更多...</a><br /></td></tr>
<tr class="separator:a31c4a61d9f5a4b6cbada3894c7d70c66 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e20040ed4c3544a493fd537489b4dd1 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a9e20040ed4c3544a493fd537489b4dd1">_Init</a> ()</td></tr>
<tr class="separator:a9e20040ed4c3544a493fd537489b4dd1 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73320b641e5e5b001bee08048c9b6503 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="struct_sock_data_buffer.html">SockDataBuffer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a73320b641e5e5b001bee08048c9b6503">GetServiceBuffer</a> () const</td></tr>
<tr class="separator:a73320b641e5e5b001bee08048c9b6503 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae50c5de21c05ad5cc2f5fd7a583e35 inherit pub_methods_class_c_socket"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_shared_ptr.html">SharedPtr</a>&lt; <a class="el" href="struct_socket_data.html">SocketData</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a8ae50c5de21c05ad5cc2f5fd7a583e35">GetSocketData</a> ()</td></tr>
<tr class="separator:a8ae50c5de21c05ad5cc2f5fd7a583e35 inherit pub_methods_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected 成员函数</h2></td></tr>
<tr class="memitem:adc077262c1ed1ced2398779c17f6cc05"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#adc077262c1ed1ced2398779c17f6cc05">_Close</a> ()</td></tr>
<tr class="separator:adc077262c1ed1ced2398779c17f6cc05"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private 成员函数</h2></td></tr>
<tr class="memitem:a89b5722fe4ced1d3bd33c5ffd510ae19"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a89b5722fe4ced1d3bd33c5ffd510ae19">delete_class_copy_operator</a> (<a class="el" href="class_c_ipc_socket.html">CIpcSocket</a>)</td></tr>
<tr class="separator:a89b5722fe4ced1d3bd33c5ffd510ae19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a910a50405e2de5f9f214af218b25519c"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_sock_error.html">CSockError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a910a50405e2de5f9f214af218b25519c">Socket</a> (<a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81">SOCKFAMILY::SockFamily</a> domain=<a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81a7c983a10bd5c8139d1aa1268993d8604">SOCKFAMILY::IPC</a>, <a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488c">SOCKTYPE::SockType</a> type=<a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488ca001599c1c291d81e5145c9aaed42852d">SOCKTYPE::STREAM</a>, <a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672e">SOCKPROTOCOL::SockProtocol</a> protocol=<a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672ea1cf712009c4a2e63641289b96b3d233b">SOCKPROTOCOL::IPC_OPEN</a>)</td></tr>
<tr class="memdesc:a910a50405e2de5f9f214af218b25519c"><td class="mdescLeft">&#160;</td><td class="mdescRight">初始化套接字  <a href="class_c_ipc_socket.html#a910a50405e2de5f9f214af218b25519c">更多...</a><br /></td></tr>
<tr class="separator:a910a50405e2de5f9f214af218b25519c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">受屏蔽的函数</div></td></tr>
<tr class="memitem:a26096a3ca407eb22869be8d6ec6b13a1"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_sock_error.html">CSockError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a26096a3ca407eb22869be8d6ec6b13a1">SetNolock</a> ()</td></tr>
<tr class="memdesc:a26096a3ca407eb22869be8d6ec6b13a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置非阻塞  <a href="class_c_ipc_socket.html#a26096a3ca407eb22869be8d6ec6b13a1">更多...</a><br /></td></tr>
<tr class="separator:a26096a3ca407eb22869be8d6ec6b13a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ecee3dd0ec41c1f93fd5fef160b8b27"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_sock_error.html">CSockError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a9ecee3dd0ec41c1f93fd5fef160b8b27">SetLock</a> ()</td></tr>
<tr class="memdesc:a9ecee3dd0ec41c1f93fd5fef160b8b27"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置为阻塞  <a href="class_c_ipc_socket.html#a9ecee3dd0ec41c1f93fd5fef160b8b27">更多...</a><br /></td></tr>
<tr class="separator:a9ecee3dd0ec41c1f93fd5fef160b8b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1dfb58fc654dc02c197b6e43d88db099"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="class_c_sock_error.html">CSockError</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a1dfb58fc654dc02c197b6e43d88db099">SetReuse</a> ()</td></tr>
<tr class="memdesc:a1dfb58fc654dc02c197b6e43d88db099"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置端口重用  <a href="class_c_ipc_socket.html#a1dfb58fc654dc02c197b6e43d88db099">更多...</a><br /></td></tr>
<tr class="separator:a1dfb58fc654dc02c197b6e43d88db099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa3675710e25d5f88a29a8b8a3b9626"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#acaa3675710e25d5f88a29a8b8a3b9626">SetSocketOpt</a> (<a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> level, <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> optname, const char *optval, socklen_t optlen)</td></tr>
<tr class="memdesc:acaa3675710e25d5f88a29a8b8a3b9626"><td class="mdescLeft">&#160;</td><td class="mdescRight">设置套接口选项  <a href="class_c_ipc_socket.html#acaa3675710e25d5f88a29a8b8a3b9626">更多...</a><br /></td></tr>
<tr class="separator:acaa3675710e25d5f88a29a8b8a3b9626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ed42e2073c065d6464ed213071e4282"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#a7ed42e2073c065d6464ed213071e4282">GetSocketOpt</a> (<a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> level, <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> optname, char *optval, socklen_t *optlen) const</td></tr>
<tr class="memdesc:a7ed42e2073c065d6464ed213071e4282"><td class="mdescLeft">&#160;</td><td class="mdescRight">获取套接口选项设置值  <a href="class_c_ipc_socket.html#a7ed42e2073c065d6464ed213071e4282">更多...</a><br /></td></tr>
<tr class="separator:a7ed42e2073c065d6464ed213071e4282"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9da47e4da34f20ae039100f92fe8f44"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_ipc_socket.html#aa9da47e4da34f20ae039100f92fe8f44">Shutdown</a> (<a class="el" href="namespace_s_d_f_l_a_g_s.html#a61532db7e32f7ef1369fb2e15a035330">SDFLAGS::SdFlags</a> how)</td></tr>
<tr class="separator:aa9da47e4da34f20ae039100f92fe8f44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
额外继承的成员函数</h2></td></tr>
<tr class="inherit_header pro_attribs_class_c_socket"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_c_socket')"><img src="closed.png" alt="-"/>&#160;Protected 属性 继承自 <a class="el" href="class_c_socket.html">CSocket</a></td></tr>
<tr class="memitem:a16e8377c836739648ebd6df427232fa8 inherit pro_attribs_class_c_socket"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_shared_ptr.html">SharedPtr</a>&lt; <a class="el" href="struct_socket_data.html">SocketData</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_socket.html#a16e8377c836739648ebd6df427232fa8">_sockData</a></td></tr>
<tr class="separator:a16e8377c836739648ebd6df427232fa8 inherit pro_attribs_class_c_socket"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>ipc通信专用套接字 </p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a> 第 <a class="el" href="_ipc_socket_8h_source.html#l00010">10</a> 行定义.</p>
</div><h2 class="groupheader">构造及析构函数说明</h2>
<a id="abdd53375a7f44cc99f488d52bb1d0bec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd53375a7f44cc99f488d52bb1d0bec">&#9670;&nbsp;</a></span>CIpcSocket() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="tools_8h.html#a201ce692c9dca6599e5c12d00167419b">DEF_BEG_LIBTOOLS</a> CIpcSocket::CIpcSocket </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00008">8</a> 行定义.</p>

</div>
</div>
<a id="a84f0b8ad9091be5242d5fd443173824a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84f0b8ad9091be5242d5fd443173824a">&#9670;&nbsp;</a></span>CIpcSocket() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CIpcSocket::CIpcSocket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_basic_service.html">CBasicService</a> *&#160;</td>
          <td class="paramname"><em>pServer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>构造函数并设置tcp操作服务类 </p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00013">13</a> 行定义.</p>

</div>
</div>
<a id="aa51689972d420888eaa68f71487e0f4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa51689972d420888eaa68f71487e0f4e">&#9670;&nbsp;</a></span>~CIpcSocket()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CIpcSocket::~CIpcSocket </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00017">17</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">成员函数说明</h2>
<a id="adc077262c1ed1ced2398779c17f6cc05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc077262c1ed1ced2398779c17f6cc05">&#9670;&nbsp;</a></span>_Close()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> CIpcSocket::_Close </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>重载 <a class="el" href="class_c_socket.html#a18f281b53430ae6e741ac65c08ff42e2">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00127">127</a> 行定义.</p>

</div>
</div>
<a id="a89b5722fe4ced1d3bd33c5ffd510ae19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89b5722fe4ced1d3bd33c5ffd510ae19">&#9670;&nbsp;</a></span>delete_class_copy_operator()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">CIpcSocket::delete_class_copy_operator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_ipc_socket.html">CIpcSocket</a>&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a7ed42e2073c065d6464ed213071e4282"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ed42e2073c065d6464ed213071e4282">&#9670;&nbsp;</a></span>GetSocketOpt()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> CIpcSocket::GetSocketOpt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td>
          <td class="paramname"><em>optname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>optval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">socklen_t *&#160;</td>
          <td class="paramname"><em>optlen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>获取套接口选项设置值 </p>
<dl class="section remark"><dt>备注</dt><dd>函数功能可参考系统函数 getsocketopt,若为IPC套接口则此函数无效 </dd></dl>

<p>重载 <a class="el" href="class_c_socket.html#a04810e298bdd8c6ce36c1b3dc76ceb2a">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a> 第 <a class="el" href="_ipc_socket_8h_source.html#l00059">59</a> 行定义.</p>

</div>
</div>
<a id="ad954cee189b57a0bb1ff5c95c25de871"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad954cee189b57a0bb1ff5c95c25de871">&#9670;&nbsp;</a></span>SetAddr()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void CIpcSocket::SetAddr </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>设置管道名称、或者unix套接字名称 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>要设置的管道名称 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section remark"><dt>备注</dt><dd>如果不带全路径：Windows下自动填充为 [\.\pipe\name]; unix套接字自动填充为[/当前进程目录/name] </dd></dl>

<p>重载 <a class="el" href="class_c_socket.html#afaa6fee02d3a38224445cb42d63d3521">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00048">48</a> 行定义.</p>

</div>
</div>
<a id="a9ecee3dd0ec41c1f93fd5fef160b8b27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ecee3dd0ec41c1f93fd5fef160b8b27">&#9670;&nbsp;</a></span>SetLock()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_c_sock_error.html">CSockError</a> CIpcSocket::SetLock </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>设置为阻塞 </p>

<p>重载 <a class="el" href="class_c_socket.html#a8b06eb532505ae7f3b6c8c17e2460911">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a> 第 <a class="el" href="_ipc_socket_8h_source.html#l00056">56</a> 行定义.</p>

</div>
</div>
<a id="a26096a3ca407eb22869be8d6ec6b13a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26096a3ca407eb22869be8d6ec6b13a1">&#9670;&nbsp;</a></span>SetNolock()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_sock_error.html">CSockError</a> CIpcSocket::SetNolock </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>设置非阻塞 </p>

<p>重载 <a class="el" href="class_c_socket.html#a3f8d60c59caa235c4fb603e269166fd4">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00118">118</a> 行定义.</p>

</div>
</div>
<a id="a1dfb58fc654dc02c197b6e43d88db099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1dfb58fc654dc02c197b6e43d88db099">&#9670;&nbsp;</a></span>SetReuse()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="class_c_sock_error.html">CSockError</a> CIpcSocket::SetReuse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>设置端口重用 </p>

<p>重载 <a class="el" href="class_c_socket.html#ae96be9f5381ebfb3e22092ad96f972ce">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a> 第 <a class="el" href="_ipc_socket_8h_source.html#l00057">57</a> 行定义.</p>

</div>
</div>
<a id="acaa3675710e25d5f88a29a8b8a3b9626"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaa3675710e25d5f88a29a8b8a3b9626">&#9670;&nbsp;</a></span>SetSocketOpt()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> CIpcSocket::SetSocketOpt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td>
          <td class="paramname"><em>level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a>&#160;</td>
          <td class="paramname"><em>optname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>optval</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">socklen_t&#160;</td>
          <td class="paramname"><em>optlen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>设置套接口选项 </p>
<dl class="section remark"><dt>备注</dt><dd>函数功能可参考系统函数 setsocketopt,若为IPC套接口则此函数无效 </dd></dl>

<p>重载 <a class="el" href="class_c_socket.html#a28a714423abdf1a80c07419661923210">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a> 第 <a class="el" href="_ipc_socket_8h_source.html#l00058">58</a> 行定义.</p>

</div>
</div>
<a id="aa9da47e4da34f20ae039100f92fe8f44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9da47e4da34f20ae039100f92fe8f44">&#9670;&nbsp;</a></span>Shutdown()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="_find_file_8h.html#a37cc1038758216808d5f75090b093c9a">int</a> CIpcSocket::Shutdown </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_s_d_f_l_a_g_s.html#a61532db7e32f7ef1369fb2e15a035330">SDFLAGS::SdFlags</a>&#160;</td>
          <td class="paramname"><em>how</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>重载 <a class="el" href="class_c_socket.html#af24c845946ff5014b8b8d57987459ad7">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a> 第 <a class="el" href="_ipc_socket_8h_source.html#l00060">60</a> 行定义.</p>

</div>
</div>
<a id="a910a50405e2de5f9f214af218b25519c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a910a50405e2de5f9f214af218b25519c">&#9670;&nbsp;</a></span>Socket()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_sock_error.html">CSockError</a> CIpcSocket::Socket </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81">SOCKFAMILY::SockFamily</a>&#160;</td>
          <td class="paramname"><em>domain</em> = <code><a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81a7c983a10bd5c8139d1aa1268993d8604">SOCKFAMILY::IPC</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488c">SOCKTYPE::SockType</a>&#160;</td>
          <td class="paramname"><em>type</em> = <code><a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488ca001599c1c291d81e5145c9aaed42852d">SOCKTYPE::STREAM</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672e">SOCKPROTOCOL::SockProtocol</a>&#160;</td>
          <td class="paramname"><em>protocol</em> = <code><a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672ea1cf712009c4a2e63641289b96b3d233b">SOCKPROTOCOL::IPC_OPEN</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>初始化套接字 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">domain</td><td>协议族 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="namespace_s_o_c_k_f_a_m_i_l_y.html#a2752d06098f227dbd8340b30a718da81">SOCKFAMILY::SockFamily</a> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>套接字类型 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="namespace_s_o_c_k_t_y_p_e.html#ab1b532206487defe92ed4eeae94b488c">SOCKTYPE::SockType</a> </dd></dl>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">protocol</td><td>传输协议 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>参见</dt><dd><a class="el" href="namespace_s_o_c_k_p_r_o_t_o_c_o_l.html#a6fcb9a12773185f3ca183ad967bb672e">SOCKPROTOCOL::SockProtocol</a> </dd></dl>
<dl class="section return"><dt>返回</dt><dd>成功返回SUCC，失败返回false </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>注意重置domain值将会清空地址、端口信息 </dd></dl>

<p>重载 <a class="el" href="class_c_socket.html#af4c2b2c6e3696ba11c605ee6fead1736">CSocket</a> .</p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00084">84</a> 行定义.</p>

</div>
</div>
<a id="ac1383f482c53e9b95735a9b2eef63ee3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1383f482c53e9b95735a9b2eef63ee3">&#9670;&nbsp;</a></span>Swap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CIpcSocket::Swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_ipc_socket.html">CIpcSocket</a> &amp;&#160;</td>
          <td class="paramname"><em>sock</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>交换两个套接口类 </p>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00039">39</a> 行定义.</p>

</div>
</div>
<a id="a98690fd3fe7a16b71852b4dce797e4f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98690fd3fe7a16b71852b4dce797e4f7">&#9670;&nbsp;</a></span>WaitNamedPipe()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_c_sock_error.html">CSockError</a> CIpcSocket::WaitNamedPipe </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="tools_8h.html#a798af1e30bc65f319c1a246cecf59e39">DWORD</a>&#160;</td>
          <td class="paramname"><em>timeout</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>为win32提供的一个等待管道连接的函数 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeout</td><td>超时时间，单位毫秒 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>返回</dt><dd>成功返回TRUE，失败返回系统错误码 </dd></dl>
<dl class="section remark"><dt>备注</dt><dd>当使用CIPCClient.Init函数初始化并获取系统码为ERROR_PIPE_BUSY时，说明管道并未准备好, 这时候可以使用此函数进行等待最少一个同命名服务管道进入等待连接状态，然后在调用CIPCClient.Init进行初始化并于服务管道进行连接； 此函数仅对windows生效，Linux下直接返回； 此函数通过SetAddr设置相应的名称后调用底层的WaitNamedPipe函数 </dd></dl>

<p class="definition">在文件 <a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a> 第 <a class="el" href="_ipc_socket_8cpp_source.html#l00074">74</a> 行定义.</p>

</div>
</div>
<hr/>该类的文档由以下文件生成:<ul>
<li>H:/project/LibTools/src/ipc/internal/<a class="el" href="_ipc_socket_8h_source.html">IpcSocket.h</a></li>
<li>H:/project/LibTools/src/ipc/internal/<a class="el" href="_ipc_socket_8cpp_source.html">IpcSocket.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>
</body>
</html>
